The development of the EDVAC computer system of 1948 is often cited as the beginning of the computer era. Since that time, computers have grown in power and become more compact resulting in more and more companies, organizations, and institutions using computers to satisfy their daily needs. As companies, organizations, and institutions began to have more than one computer, a need for a method of transferring data among them became prevalent. To do so, internal networks were developed to allow computers to share data and work together.
As well as building internal networks, companies, organizations, and institutions also began to build external networks to share and transfer information among one another. The Internet, which is simply a computer network, grew from this trend towards increasing connectivity. The Internet is a network of millions of computers throughout the world connected to one another. It provides a user with access to all of these computers and, their resources, all from the comforts of his or her own computer. It is this global reach that has attracted merchants to use the Internet as a new marketplace in which to sell their wares.
When a merchant offers products for sale on the Internet, a customer will typically be able to access the list of catalogue items the merchant is offering for sale and information concerning those catalogue items in order to make a decision on whether or not to make a purchase. The customer can then order the desired items over the Internet and complete the purchase remotely. The computer program that allows this functionality is generally called an electronic commerce system, or e-commerce system.
When an item is ordered, apart from the price of the item, there may also be charges or reductions associated with that item. For example, a customer may be charged for shipping the item or he or she may be eligible for a discount. In the past, the manner of calculating parameters, such as charges and reductions, associated with an item have been explicitly programmed or hard coded into the e-commerce system. Hard coding the calculation of parameters into the e-commerce system forces a merchant to physically change the program code for each change in the calculation of those parameters for an item that may be ordered. Additionally, adding new calculations involved writing and inserting entire routines that duplicated operations that would be performed on all items. Changing the program code and adding new program code is time consuming and prone to error.
It is desirable to have an e-commerce system that separates the calculation of the parameters for an item from the item itself to facilitate the changing of the calculations of those parameters and adding new calculations for new parameters.